Many different types of mechanical systems include components that are configured to use the same space within the system. For example, in a tape library system (discussed in further detail below), two or more robot arms may be configured to operate along a particular rail. Alternatively or in addition, a system may include one or more impediments to a component's movement, such as a service door that, when opened, occupies space that the component may need to move.
If two components attempt to occupy the same space at the same time, or if a component's path to a particular location is blocked by a physical impediment, a collision may occur. As a result of the collision, the system may be slowed down or even rendered inoperable. The component(s) and/or other impediment(s) may be dislodged or damaged, requiring maintenance that may be time-consuming and/or expensive. A particular component or other impediment may be damaged beyond repair and require replacement. Replacing a component may be expensive in terms of parts and/or labor. Further, the time it takes to restore operation to the system may have operational costs, such as lost revenue if the system provides a revenue-generating service. In general, a collision between a component and another component or other type of impediment is an undesirable occurrence and may even be considered catastrophic.
Some mechanical systems user servomechanisms. A servomechanism (or “servo” for short) is a device or system that receives feedback and adjusts the operation of one or more physical components based on the feedback received. For example, based on feedback received by a servomechanism, the velocity, position, direction, or other operational property of a component may be adjusted. The adjustments are made automatically (i.e., through operation of the servomechanism itself), not manually by a human operator. For example, a human applying pressure to a brake pedal, to decrease the velocity of an automobile, is not a servomechanism. However, the brake pedal may be connected to an antilock braking system that uses a servomechanism to receive feedback (e.g., rotational velocity of the braking tires) and adjusts operation of the braking system accordingly (e.g., by releasing brake pressure to prevent the vehicle from skidding, if the tires stop rotating suddenly).
Many different types of feedback may be used in a servomechanism. For example, for position-based servomechanisms, the physical location of a component may be monitored and compared with an expected location. If there is a difference between the actual location and the expected location, a component may be slowed down or accelerated to compensate for the difference. Similarly, a mechanical governor, also known as a speed limiter, may be used to compare the actual speed of a component with an expected speed and adjust the actual speed accordingly. Servomechanisms also may be used in robotics to control the velocity, position, direction, or other operational property of a robotic component. Those skilled in the art will appreciate that many different types of servomechanisms exist that rely on many different types of feedback.
The approaches described in this section are approaches that could be pursued, but not necessarily approaches that have been previously conceived or pursued. Therefore, unless otherwise indicated, it should not be assumed that any of the approaches described in this section qualify as prior art merely by virtue of their inclusion in this section.